gulp.task(ꞌfaviconsꞌ)   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 19
c 0
b 0
f 0
rs 9.4285
cc 1
nc 1
nop 0
1
var gulp = require('gulp');
2
var plugins = require('gulp-load-plugins')();
3
4
var config  = {
5
    nodeDir: 'node_modules',
6
    assetsDir: 'app/Resources/assets',
7
    cssPattern: 'css/**/*.css',
8
    jsPattern: 'js/**/*.js',
9
    production: !!plugins.util.env.production,
10
    url: 'https://symfony.si/',
11
    appDescription: 'Symfony and PHP local user group',
12
    appName: 'Symfony Slovenia'
13
14
};
15
16
var app = {};
17
18
app.addStyle = function(paths, outputFilename) {
19
    gulp.src(paths)
20
        .pipe(plugins.if(!config.production, plugins.plumber()))
21
        .pipe(plugins.concat(outputFilename))
22
        .pipe(config.production ? plugins.cleanCss({compatibility: 'ie8'}) : plugins.util.noop())
23
        .pipe(gulp.dest('web/assets/css'));
24
};
25
26
app.addScript = function(paths, outputFilename) {
27
    gulp.src(paths)
28
        .pipe(plugins.if(!config.production, plugins.plumber()))
29
        .pipe(plugins.concat(outputFilename))
30
        .pipe(config.production ? plugins.uglify() : plugins.util.noop())
31
        .pipe(gulp.dest('web/assets/js'));
32
};
33
34
gulp.task('styles', function() {
35
  app.addStyle([
36
      config.nodeDir+'/bootstrap/dist/css/bootstrap.min.css',
37
      config.nodeDir+'/prismjs/themes/prism-okaidia.css',
38
      config.assetsDir+'/'+config.cssPattern
39
    ], 'app.css');
40
});
41
42
gulp.task('scripts', function() {
43
    // base.html.twig
44
    app.addScript([
45
        config.nodeDir+'/jquery/dist/jquery.min.js',
46
        config.nodeDir+'/bootstrap/dist/js/bootstrap.min.js',
47
        config.assetsDir+'/'+config.jsPattern,
48
        config.nodeDir+'/prismjs/prism.js',
49
        config.nodeDir+'/prismjs/components/prism-php.js',
50
        config.nodeDir+'/prismjs/components/prism-php-extras.js',
51
        config.nodeDir+'/prismjs/components/prism-twig.js',
52
        config.nodeDir+'/prismjs/components/prism-yaml.js',
53
        config.nodeDir+'/prismjs/components/prism-sql.js',
54
        config.nodeDir+'/prismjs/components/prism-nginx.js',
55
        config.nodeDir+'/prismjs/components/prism-markdown.js',
56
        config.nodeDir+'/prismjs/components/prism-json.js',
57
        config.nodeDir+'/prismjs/components/prism-ini.js',
58
        config.nodeDir+'/prismjs/components/prism-http.js',
59
        config.nodeDir+'/prismjs/components/prism-css-extras.js',
60
        config.nodeDir+'/prismjs/components/prism-apacheconf.js',
61
        config.nodeDir+'/prismjs/components/prism-rest.js'
62
    ], 'app.js');
63
});
64
65
gulp.task('fonts', function() {
66
    gulp.src([
67
        config.nodeDir+'/bootstrap/dist/fonts/glyphicons-halflings-regular*'
68
    ])
69
        .pipe(gulp.dest('web/assets/fonts'));
70
});
71
72
gulp.task('images', function() {
73
    gulp.src([
74
        config.assetsDir+'/img/**/*.*'
75
    ])
76
      .pipe(gulp.dest('web/assets/img'));
77
});
78
79
gulp.task("favicons", function () {
80
    gulp.src(config.assetsDir+"/favicon.png").pipe(plugins.favicons({
81
        appName: config.appName,
82
        appDescription: config.appDescription,
83
        developerName: config.appName,
84
        developerURL: config.url,
85
        background: "#ffffff",
86
        path: "/",
87
        url: config.url,
88
        display: "standalone",
89
        orientation: "portrait",
90
        version: 1.0,
91
        logging: false,
92
        online: false,
93
        html: "favicon.html",
94
        pipeHTML: true,
95
        replace: true
96
    })).pipe(gulp.dest("web"));
97
});
98
99
gulp.task('watch', function() {
100
    gulp.watch(config.assetsDir+'/'+config.cssPattern, ['styles']);
101
    gulp.watch(config.assetsDir+'/'+config.jsPattern, ['scripts']);
102
});
103
104
// build, no watching
105
gulp.task('build', ['styles', 'scripts', 'fonts', 'images', 'favicons']);
106
107
gulp.task('default', ['build', 'watch']);
108